package cn.net.wanji.entity;

import lombok.Data;

/**
 * @author guodejun
 * @createTime 2022/11/22 10:10
 * @description
 */
@Data
public class MyDeviceInfo {
    private Integer id;

    /**
     * 站点编码
     */
    private String siteCode;

    /**
     * 设备编码
     */
    private String deviceCode;

    /**
     * 设备名称描述
     */
    private String deviceTypeCode;

    /**
     * 设备一级类型
     */
    private String stateTime;

    /**
     * 机构编码
     */
    private String brand;

    /**
     * 设备型号
     */
    private String deviceType;

    /**
     * 设备序列号
     */
    private String sn;

    /**
     * MAC地址
     */
    private String mac;

    private String ip;

    private String port;

    /**
     * 基础配置
     */
    private String basicConfig;

    /**
     * 系统名称及版本
     */
    private String systemVersion;

    /**
     * 软件名称
     */
    private String softwareName;

    /**
     * 软件版本
     */
    private String softwareVersion;

    /**
     * 车道编码
     */
    private String laneNum;

    /**
     * 像素
     */
    private String pixel;

    /**
     * 图像分辨率
     */
    private String resolution;

    /**
     * 使用状态
     */
    private String usageStatus;

    /**
     * 路侧单元硬件版本
     */
    private String rsuHardwareVersion;

    /**
     * 路侧单元软件版本
     */
    private String rsuSoftwareVersion;

    /**
     * 天线头的硬件版本
     */
    private String antennaHardwareVersion;

    /**
     * 天线头的软件版本
     */
    private String antennaSoftwareVersion;

    /**
     * 天线头信息
     */
    private String antennaInfoList;

    /**
     * PSAM信息
     */
    private String psamInfoList;

    /**
     * 连接状态 0-断开、1-连接
     */
    private String connectStatus;

    /**
     * 工作状态0-关闭、1-工作
     */
    private String workStatus;

    /**
     * 0-正常、其他由厂商自定义
     */
    private String statusCode;

    /**
     * 状态描述 由厂商自定义
     */
    private String statusMsg;

    /**
     * 补光灯工作状态0-关闭、1-工作
     */
    private String lightWorkStatus;

    /**
     * 主从设备间的网络连接状态 1-通讯正常、2-通讯异常
     */
    private String controlNetwork;

    /**
     * CPU使用率 单位：%，0~100
     */
    private String cpuOccupy;

    /**
     * 内存使用率 单位：%，0~100
     */
    private String memOccupy;

    /**
     * 内存总大小单位：MB
     */
    private String memTotal;

    /**
     * 磁盘使用率 单位：%，0~100
     */
    private String flashOccupy;

    /**
     * 磁盘总大小 单位：MB
     */
    private String flashTotal;

    private static final long serialVersionUID = 1L;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getSiteCode() {
        return siteCode;
    }

    public void setSiteCode(String siteCode) {
        this.siteCode = siteCode;
    }

    public String getDeviceCode() {
        return deviceCode;
    }

    public void setDeviceCode(String deviceCode) {
        this.deviceCode = deviceCode;
    }

    public String getDeviceTypeCode() {
        return deviceTypeCode;
    }

    public void setDeviceTypeCode(String deviceTypeCode) {
        this.deviceTypeCode = deviceTypeCode;
    }

    public String getStateTime() {
        return stateTime;
    }

    public void setStateTime(String stateTime) {
        this.stateTime = stateTime;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }

    public String getSn() {
        return sn;
    }

    public void setSn(String sn) {
        this.sn = sn;
    }

    public String getMac() {
        return mac;
    }

    public void setMac(String mac) {
        this.mac = mac;
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public String getPort() {
        return port;
    }

    public void setPort(String port) {
        this.port = port;
    }

    public String getBasicConfig() {
        return basicConfig;
    }

    public void setBasicConfig(String basicConfig) {
        this.basicConfig = basicConfig;
    }

    public String getSystemVersion() {
        return systemVersion;
    }

    public void setSystemVersion(String systemVersion) {
        this.systemVersion = systemVersion;
    }

    public String getSoftwareName() {
        return softwareName;
    }

    public void setSoftwareName(String softwareName) {
        this.softwareName = softwareName;
    }

    public String getSoftwareVersion() {
        return softwareVersion;
    }

    public void setSoftwareVersion(String softwareVersion) {
        this.softwareVersion = softwareVersion;
    }

    public String getLaneNum() {
        return laneNum;
    }

    public void setLaneNum(String laneNum) {
        this.laneNum = laneNum;
    }

    public String getPixel() {
        return pixel;
    }

    public void setPixel(String pixel) {
        this.pixel = pixel;
    }

    public String getResolution() {
        return resolution;
    }

    public void setResolution(String resolution) {
        this.resolution = resolution;
    }

    public String getUsageStatus() {
        return usageStatus;
    }

    public void setUsageStatus(String usageStatus) {
        this.usageStatus = usageStatus;
    }

    public String getRsuHardwareVersion() {
        return rsuHardwareVersion;
    }

    public void setRsuHardwareVersion(String rsuHardwareVersion) {
        this.rsuHardwareVersion = rsuHardwareVersion;
    }

    public String getRsuSoftwareVersion() {
        return rsuSoftwareVersion;
    }

    public void setRsuSoftwareVersion(String rsuSoftwareVersion) {
        this.rsuSoftwareVersion = rsuSoftwareVersion;
    }

    public String getAntennaHardwareVersion() {
        return antennaHardwareVersion;
    }

    public void setAntennaHardwareVersion(String antennaHardwareVersion) {
        this.antennaHardwareVersion = antennaHardwareVersion;
    }

    public String getAntennaSoftwareVersion() {
        return antennaSoftwareVersion;
    }

    public void setAntennaSoftwareVersion(String antennaSoftwareVersion) {
        this.antennaSoftwareVersion = antennaSoftwareVersion;
    }

    public String getAntennaInfoList() {
        return antennaInfoList;
    }

    public void setAntennaInfoList(String antennaInfoList) {
        this.antennaInfoList = antennaInfoList;
    }

    public String getPsamInfoList() {
        return psamInfoList;
    }

    public void setPsamInfoList(String psamInfoList) {
        this.psamInfoList = psamInfoList;
    }

    public String getConnectStatus() {
        return connectStatus;
    }

    public void setConnectStatus(String connectStatus) {
        this.connectStatus = connectStatus;
    }

    public String getWorkStatus() {
        return workStatus;
    }

    public void setWorkStatus(String workStatus) {
        this.workStatus = workStatus;
    }

    public String getStatusCode() {
        return statusCode;
    }

    public void setStatusCode(String statusCode) {
        this.statusCode = statusCode;
    }

    public String getStatusMsg() {
        return statusMsg;
    }

    public void setStatusMsg(String statusMsg) {
        this.statusMsg = statusMsg;
    }

    public String getLightWorkStatus() {
        return lightWorkStatus;
    }

    public void setLightWorkStatus(String lightWorkStatus) {
        this.lightWorkStatus = lightWorkStatus;
    }

    public String getControlNetwork() {
        return controlNetwork;
    }

    public void setControlNetwork(String controlNetwork) {
        this.controlNetwork = controlNetwork;
    }

    public String getCpuOccupy() {
        return cpuOccupy;
    }

    public void setCpuOccupy(String cpuOccupy) {
        this.cpuOccupy = cpuOccupy;
    }

    public String getMemOccupy() {
        return memOccupy;
    }

    public void setMemOccupy(String memOccupy) {
        this.memOccupy = memOccupy;
    }

    public String getMemTotal() {
        return memTotal;
    }

    public void setMemTotal(String memTotal) {
        this.memTotal = memTotal;
    }

    public String getFlashOccupy() {
        return flashOccupy;
    }

    public void setFlashOccupy(String flashOccupy) {
        this.flashOccupy = flashOccupy;
    }

    public String getFlashTotal() {
        return flashTotal;
    }

    public void setFlashTotal(String flashTotal) {
        this.flashTotal = flashTotal;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        MyDeviceInfo other = (MyDeviceInfo) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
                && (this.getSiteCode() == null ? other.getSiteCode() == null : this.getSiteCode().equals(other.getSiteCode()))
                && (this.getDeviceCode() == null ? other.getDeviceCode() == null : this.getDeviceCode().equals(other.getDeviceCode()))
                && (this.getDeviceTypeCode() == null ? other.getDeviceTypeCode() == null : this.getDeviceTypeCode().equals(other.getDeviceTypeCode()))
                && (this.getStateTime() == null ? other.getStateTime() == null : this.getStateTime().equals(other.getStateTime()))
                && (this.getBrand() == null ? other.getBrand() == null : this.getBrand().equals(other.getBrand()))
                && (this.getDeviceType() == null ? other.getDeviceType() == null : this.getDeviceType().equals(other.getDeviceType()))
                && (this.getSn() == null ? other.getSn() == null : this.getSn().equals(other.getSn()))
                && (this.getMac() == null ? other.getMac() == null : this.getMac().equals(other.getMac()))
                && (this.getIp() == null ? other.getIp() == null : this.getIp().equals(other.getIp()))
                && (this.getPort() == null ? other.getPort() == null : this.getPort().equals(other.getPort()))
                && (this.getBasicConfig() == null ? other.getBasicConfig() == null : this.getBasicConfig().equals(other.getBasicConfig()))
                && (this.getSystemVersion() == null ? other.getSystemVersion() == null : this.getSystemVersion().equals(other.getSystemVersion()))
                && (this.getSoftwareName() == null ? other.getSoftwareName() == null : this.getSoftwareName().equals(other.getSoftwareName()))
                && (this.getSoftwareVersion() == null ? other.getSoftwareVersion() == null : this.getSoftwareVersion().equals(other.getSoftwareVersion()))
                && (this.getLaneNum() == null ? other.getLaneNum() == null : this.getLaneNum().equals(other.getLaneNum()))
                && (this.getPixel() == null ? other.getPixel() == null : this.getPixel().equals(other.getPixel()))
                && (this.getResolution() == null ? other.getResolution() == null : this.getResolution().equals(other.getResolution()))
                && (this.getUsageStatus() == null ? other.getUsageStatus() == null : this.getUsageStatus().equals(other.getUsageStatus()))
                && (this.getRsuHardwareVersion() == null ? other.getRsuHardwareVersion() == null : this.getRsuHardwareVersion().equals(other.getRsuHardwareVersion()))
                && (this.getRsuSoftwareVersion() == null ? other.getRsuSoftwareVersion() == null : this.getRsuSoftwareVersion().equals(other.getRsuSoftwareVersion()))
                && (this.getAntennaHardwareVersion() == null ? other.getAntennaHardwareVersion() == null : this.getAntennaHardwareVersion().equals(other.getAntennaHardwareVersion()))
                && (this.getAntennaSoftwareVersion() == null ? other.getAntennaSoftwareVersion() == null : this.getAntennaSoftwareVersion().equals(other.getAntennaSoftwareVersion()))
                && (this.getAntennaInfoList() == null ? other.getAntennaInfoList() == null : this.getAntennaInfoList().equals(other.getAntennaInfoList()))
                && (this.getPsamInfoList() == null ? other.getPsamInfoList() == null : this.getPsamInfoList().equals(other.getPsamInfoList()))
                && (this.getConnectStatus() == null ? other.getConnectStatus() == null : this.getConnectStatus().equals(other.getConnectStatus()))
                && (this.getWorkStatus() == null ? other.getWorkStatus() == null : this.getWorkStatus().equals(other.getWorkStatus()))
                && (this.getStatusCode() == null ? other.getStatusCode() == null : this.getStatusCode().equals(other.getStatusCode()))
                && (this.getStatusMsg() == null ? other.getStatusMsg() == null : this.getStatusMsg().equals(other.getStatusMsg()))
                && (this.getLightWorkStatus() == null ? other.getLightWorkStatus() == null : this.getLightWorkStatus().equals(other.getLightWorkStatus()))
                && (this.getControlNetwork() == null ? other.getControlNetwork() == null : this.getControlNetwork().equals(other.getControlNetwork()))
                && (this.getCpuOccupy() == null ? other.getCpuOccupy() == null : this.getCpuOccupy().equals(other.getCpuOccupy()))
                && (this.getMemOccupy() == null ? other.getMemOccupy() == null : this.getMemOccupy().equals(other.getMemOccupy()))
                && (this.getMemTotal() == null ? other.getMemTotal() == null : this.getMemTotal().equals(other.getMemTotal()))
                && (this.getFlashOccupy() == null ? other.getFlashOccupy() == null : this.getFlashOccupy().equals(other.getFlashOccupy()))
                && (this.getFlashTotal() == null ? other.getFlashTotal() == null : this.getFlashTotal().equals(other.getFlashTotal()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getSiteCode() == null) ? 0 : getSiteCode().hashCode());
        result = prime * result + ((getDeviceCode() == null) ? 0 : getDeviceCode().hashCode());
        result = prime * result + ((getDeviceTypeCode() == null) ? 0 : getDeviceTypeCode().hashCode());
        result = prime * result + ((getStateTime() == null) ? 0 : getStateTime().hashCode());
        result = prime * result + ((getBrand() == null) ? 0 : getBrand().hashCode());
        result = prime * result + ((getDeviceType() == null) ? 0 : getDeviceType().hashCode());
        result = prime * result + ((getSn() == null) ? 0 : getSn().hashCode());
        result = prime * result + ((getMac() == null) ? 0 : getMac().hashCode());
        result = prime * result + ((getIp() == null) ? 0 : getIp().hashCode());
        result = prime * result + ((getPort() == null) ? 0 : getPort().hashCode());
        result = prime * result + ((getBasicConfig() == null) ? 0 : getBasicConfig().hashCode());
        result = prime * result + ((getSystemVersion() == null) ? 0 : getSystemVersion().hashCode());
        result = prime * result + ((getSoftwareName() == null) ? 0 : getSoftwareName().hashCode());
        result = prime * result + ((getSoftwareVersion() == null) ? 0 : getSoftwareVersion().hashCode());
        result = prime * result + ((getLaneNum() == null) ? 0 : getLaneNum().hashCode());
        result = prime * result + ((getPixel() == null) ? 0 : getPixel().hashCode());
        result = prime * result + ((getResolution() == null) ? 0 : getResolution().hashCode());
        result = prime * result + ((getUsageStatus() == null) ? 0 : getUsageStatus().hashCode());
        result = prime * result + ((getRsuHardwareVersion() == null) ? 0 : getRsuHardwareVersion().hashCode());
        result = prime * result + ((getRsuSoftwareVersion() == null) ? 0 : getRsuSoftwareVersion().hashCode());
        result = prime * result + ((getAntennaHardwareVersion() == null) ? 0 : getAntennaHardwareVersion().hashCode());
        result = prime * result + ((getAntennaSoftwareVersion() == null) ? 0 : getAntennaSoftwareVersion().hashCode());
        result = prime * result + ((getAntennaInfoList() == null) ? 0 : getAntennaInfoList().hashCode());
        result = prime * result + ((getPsamInfoList() == null) ? 0 : getPsamInfoList().hashCode());
        result = prime * result + ((getConnectStatus() == null) ? 0 : getConnectStatus().hashCode());
        result = prime * result + ((getWorkStatus() == null) ? 0 : getWorkStatus().hashCode());
        result = prime * result + ((getStatusCode() == null) ? 0 : getStatusCode().hashCode());
        result = prime * result + ((getStatusMsg() == null) ? 0 : getStatusMsg().hashCode());
        result = prime * result + ((getLightWorkStatus() == null) ? 0 : getLightWorkStatus().hashCode());
        result = prime * result + ((getControlNetwork() == null) ? 0 : getControlNetwork().hashCode());
        result = prime * result + ((getCpuOccupy() == null) ? 0 : getCpuOccupy().hashCode());
        result = prime * result + ((getMemOccupy() == null) ? 0 : getMemOccupy().hashCode());
        result = prime * result + ((getMemTotal() == null) ? 0 : getMemTotal().hashCode());
        result = prime * result + ((getFlashOccupy() == null) ? 0 : getFlashOccupy().hashCode());
        result = prime * result + ((getFlashTotal() == null) ? 0 : getFlashTotal().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", siteCode=").append(siteCode);
        sb.append(", deviceCode=").append(deviceCode);
        sb.append(", deviceTypeCode=").append(deviceTypeCode);
        sb.append(", stateTime=").append(stateTime);
        sb.append(", brand=").append(brand);
        sb.append(", deviceType=").append(deviceType);
        sb.append(", sn=").append(sn);
        sb.append(", mac=").append(mac);
        sb.append(", ip=").append(ip);
        sb.append(", port=").append(port);
        sb.append(", basicConfig=").append(basicConfig);
        sb.append(", systemVersion=").append(systemVersion);
        sb.append(", softwareName=").append(softwareName);
        sb.append(", softwareVersion=").append(softwareVersion);
        sb.append(", laneNum=").append(laneNum);
        sb.append(", pixel=").append(pixel);
        sb.append(", resolution=").append(resolution);
        sb.append(", usageStatus=").append(usageStatus);
        sb.append(", rsuHardwareVersion=").append(rsuHardwareVersion);
        sb.append(", rsuSoftwareVersion=").append(rsuSoftwareVersion);
        sb.append(", antennaHardwareVersion=").append(antennaHardwareVersion);
        sb.append(", antennaSoftwareVersion=").append(antennaSoftwareVersion);
        sb.append(", antennaInfoList=").append(antennaInfoList);
        sb.append(", psamInfoList=").append(psamInfoList);
        sb.append(", connectStatus=").append(connectStatus);
        sb.append(", workStatus=").append(workStatus);
        sb.append(", statusCode=").append(statusCode);
        sb.append(", statusMsg=").append(statusMsg);
        sb.append(", lightWorkStatus=").append(lightWorkStatus);
        sb.append(", controlNetwork=").append(controlNetwork);
        sb.append(", cpuOccupy=").append(cpuOccupy);
        sb.append(", memOccupy=").append(memOccupy);
        sb.append(", memTotal=").append(memTotal);
        sb.append(", flashOccupy=").append(flashOccupy);
        sb.append(", flashTotal=").append(flashTotal);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }

}
